/**
 * 数据结果
 */
export interface Page<T> {
  /** 当前页码 */
  current?: number
  pageNum?: number
  pageIndex?: number

  /** 每页显示条数 */
  size?: number
  pageSize?: number

  /** 总页数 */
  total?: number

  /** 返回数据 */
  records?: T[]
  /** 兼容数据结构 */
  list?: T[]
}

/**
 * 数据结果
 */
export interface Query<T> extends Page<T> {
  /** 查询参数 */
  param?: T
}

/**
 * 数据基础类
 */
export interface Model {
  /** 是否有效 */
  stateId?: number
  /** 创建人 */
  createdBy?: string
  /** 创建时间 */
  createdDate?: string
  /** 最后修改人 */
  lastModifiedBy?: string
  /** 最后修改时间 */
  lastModifiedDate?: string
  /** 乐观锁 */
  versionLock?: number
  /** 逻辑删除时间 */
  deletedTimeLong?: number
}

/**
 * 数据结果
 */
export interface Result<T extends Model> {
  /** 状态码 */
  code: number | string
  /** 提示语 */
  message: string
  /** 返回数据 */
  data: T
}
